#!/bin/bash

# prompt_increment.sh - 用户选择是否递增端口和域名
# 实现用户明确控制递增操作和Git推送

set -e

echo "=== 端口和域名递增选择 ==="
echo ""
echo "当前配置："

# 显示当前配置信息
if [ -f "frpc/frpc.ini" ]; then
    current_port=$(grep "remote_port" frpc/frpc.ini | head -1 | awk '{print $NF}')
    current_domain=$(grep "custom_domains" frpc/frpc.ini | head -1 | awk '{print $NF}' | sed 's/.*nodered\([0-9]*\).*/\1/')
    echo "  SSH端口: $current_port"
    echo "  域名编号: nodered$current_domain"
fi

echo ""

# 检查是否在非交互式环境中运行（如curl管道）
if [ ! -t 0 ]; then
    echo "检测到非交互式环境（curl管道执行）"
    echo "自动选择：递增端口和域名编号并推送到Git仓库"
    echo ""
    
    # 执行递增和推送
    if [ -f "./auto_increment_and_push.sh" ]; then
        chmod +x ./auto_increment_and_push.sh
        ./auto_increment_and_push.sh --auto-auth
        echo "✓ 自动递增和推送完成"
    else
        echo "❌ 错误: auto_increment_and_push.sh 文件不存在"
        exit 1
    fi
else
    # 交互式环境，显示选择界面
    echo "请选择操作："
    echo "  [1] 递增端口和域名编号 (+1) 并推送到Git仓库"
    echo "  [2] 跳过递增，直接安装 (不推送到Git仓库)"
    echo ""

    while true; do
        read -p "请输入选择 [1/2]: " choice
        case $choice in
            1)
                echo ""
                echo "✓ 选择：递增端口和域名编号，并推送到Git"
                echo "  - 端口将递增 +1"
                echo "  - 域名编号将递增 +1" 
                echo "  - 修改将推送到Git仓库"
                echo ""
                
                # 执行递增和推送
                if [ -f "./auto_increment_and_push.sh" ]; then
                    chmod +x ./auto_increment_and_push.sh
                    ./auto_increment_and_push.sh --auto-auth
                    echo "✓ 递增和推送完成"
                else
                    echo "❌ 错误: auto_increment_and_push.sh 文件不存在"
                    exit 1
                fi
                break
                ;;
            2)
                echo ""
                echo "✓ 选择：跳过递增，直接安装"
                echo "  - 保持当前端口和域名编号不变"
                echo "  - 不会推送任何修改到Git仓库"
                echo ""
                echo "✓ 跳过递增操作"
                break
                ;;
            *)
                echo "❌ 无效选择，请输入 1 或 2"
                ;;
        esac
    done
fi

echo "=== 用户选择完成 ==="
